package com.odontosis.view.popup;

import java.util.Collection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.odontosis.entidade.Paciente;
import com.odontosis.service.PacienteService;
import com.odontosis.util.StringUtilsOdontosis;
import com.odontosis.view.OdontosisAction;
import com.odontosis.view.cadastro.paciente.FormCadastroPaciente;

public class AcaoPacientePesquisa extends OdontosisAction<PacienteService> {
	

	
	public ActionForward pesquisar(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		FormPacientePesquisa formulario = (FormPacientePesquisa) form;
		Collection<Paciente> colecao = null;
		int maxResultado = 200;
		if(!StringUtilsOdontosis.isVazia(formulario.getMaxResultado())){
			maxResultado = Integer.parseInt(formulario.getMaxResultado());
		}else{
			formulario.setMaxResultado(new Integer(maxResultado).toString());
		}
		colecao = service.buscarPacienteEmTratamentoOuEmAcompanhamento(formulario.getNumeroPaciente(), formulario.getNomePaciente(), maxResultado);
		request.setAttribute("colecao", colecao);
		return mapping.getInputForward();
    }

	public ActionForward onInciar(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse arg3) throws Exception {
		FormPacientePesquisa formulario = (FormPacientePesquisa) form;
		Collection<Paciente> colecao = null;
		int maxResultado = 200;
		if(!StringUtilsOdontosis.isVazia(formulario.getMaxResultado())){
			maxResultado = Integer.parseInt(formulario.getMaxResultado());
		}else{
			formulario.setMaxResultado(new Integer(maxResultado).toString());
		}
		colecao =  service.buscarPacienteEmTratamentoOuEmAcompanhamento(formulario.getNumeroPaciente(), formulario.getNomePaciente(), maxResultado);
		request.setAttribute("colecao", colecao);
		return mapping.getInputForward();
	}


	@Override
	public ActionForward execute(ActionMapping arg0, ActionForm form,
			HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
		FormPacientePesquisa formulario = (FormPacientePesquisa) form;
		if(StringUtils.isEmpty(formulario.getMetodo()))
		{
			return onInciar(arg0, form, arg2, arg3);
		}														
		return super.execute(arg0, form, arg2, arg3);
	}
}
